/* Creazione di una nuova area */
nuovaArea(AC,NA):-
	deltaL(DeltaL),
	dimensioniMappa(Xmx,Ymx),
	area(AC,[ACx,ACy,ACd]),
	(-(ACx,(/(DeltaL,2)))>0 -> NAx is -(ACx,floor(/(DeltaL,2))); NAx is 0),
	(-(ACy,(/(DeltaL,2)))>0 -> NAy is -(ACy,floor(/(DeltaL,2))); NAy is 0),
	X is +(+(NAx,ACd),DeltaL),
	Y is +(+(NAy,ACd),DeltaL),
	((X>Xmx;Y>Ymx) 
		-> (D1 is -(Xmx,NAx),D2 is -(Ymx,NAy),min(D1,D2,NAd))
		;  NAd is +(ACd,DeltaL)
	),
	((area(NA1,[NAx,NAy,NAd]),!);
	 (idArea(NA1),assert(area(NA1,[NAx,NAy,NAd])))),
	sitiInteresseIn(AC,SitiAC),
	sitiInteresseIn(NA1,SitiNA1),
	lmax(Lmax),
	((SitiAC=SitiNA1,NAd<Lmax)->
			(nuovaArea(NA1,NA),rimuoviArea(NA1))
			;
			(NA=NA1)
	),
	[aggregs].
